---
id: assist_rule
sidebar_position: 5
hide_table_of_contents: true
title: 7.5 辅助规则
description: 此类规则主要特点为辅助查询。
---
import TagRed from '@site/src/components/tags/TagRed';
import TagGray from '@site/src/components/tags/TagGray';
import TagYellow from '@site/src/components/tags/TagYellow';

# 辅助规则

| 规则                                        | 描述                                                              |
|-------------------------------------------|-----------------------------------------------------------------|
| [RESULT 规则](./assist_rule#result-set)     | 在查询语句中不会产生任何实际作用，当在特定场景中对获取结果集的行为产生影响。                          |
| [DEFAULTRESULT 规则](./assist_rule#default) | 当一个多值查询或存储过程调用返回了多个结果集时，可以使用 defaultResult 避免配置多个不同的 RESULT 规则。 |

## RESULT 规则 {#result-set}

RESULT 规则在查询语句中不会产生任何实际作用，当在特定场景中对获取结果集的行为产生影响。它的用法如下：

```text title='用法'
@{resultSet, key1 = value1, key2 = value2}
```

支持 RESULT 规则的使用场景有：
- [存储过程调用](../core/jdbc/procedure)
- [多值](../core/jdbc/multi)
- 使用 `PreparedMultipleResultSetExtractor`、`CallableMultipleResultSetExtractor` 两个类处理结果集的接收。

RESULT 规则具有的属性如下：

| 名称         | 类型                 | 说明                                                                            |
|------------|--------------------|-------------------------------------------------------------------------------|
| name       | String             | <TagGray/> OUT 参数在结果集中的名称。当 mode 为 `INOUT` 时可以用来而进一步用来区分参数在传入和传出时分别的名称。       |
| javaType   | Class              | <TagGray/> 用于将游标代表的数据集映射到具体 Java 类型。有关详细请信息请了解 [对象映射](../core/mapping/about)。 |
| rowMapper  | RowMapper          | <TagGray/> 同上，详情参考 [RowMapper](../result/for_mapper)。                         |
| rowHandler | RowCallbackHandler | <TagGray/> 同上，详情参考 [RowCallbackHandler](../result/row_callback)。              |
| extractor  | ResultSetExtractor | <TagGray/> 同上，详情参考 [ResultSetExtractor](../result/for_extractor)。             |

## DEFAULTRESULT 规则 {#default}

DEFAULTRESULT 规则在查询语句中不会产生任何实际作用，当在特定场景中对获取结果集的行为产生影响。它的用法如下：

```text title='用法'
@{defaultResult, key1 = value1, key2 = value2}
```

支持 DEFAULTRESULT 规则的使用场景有：
- [存储过程调用](../core/jdbc/procedure)
- [多值](../core/jdbc/multi)
- 使用 `PreparedMultipleResultSetExtractor`、`CallableMultipleResultSetExtractor` 两个类处理结果集的接收。

DEFAULTRESULT 规则具有的属性如下：

| 名称         | 类型                 | 说明                                                                            |
|------------|--------------------|-------------------------------------------------------------------------------|
| javaType   | Class              | <TagGray/> 用于将游标代表的数据集映射到具体 Java 类型。有关详细请信息请了解 [对象映射](../core/mapping/about)。 |
| rowMapper  | RowMapper          | <TagGray/> 同上，详情参考 [RowMapper](../result/for_mapper)。                         |
| rowHandler | RowCallbackHandler | <TagGray/> 同上，详情参考 [RowCallbackHandler](../result/row_callback)。              |
| extractor  | ResultSetExtractor | <TagGray/> 同上，详情参考 [ResultSetExtractor](../result/for_extractor)。             |
